#!/usr/bin/python3
# -*- coding:utf-8 -*-'
'''
Created on 2019年5月21日
from builtins import set

@author: songhq
'''
'''
python3中有
3个不可变的类型  Number  String Tuple
3个可变的数据类型  List Dictionary Set
'''
#Number 数字类型有int float bool complex（复数）
a= 20
b = False
c = 1.0
d = 1+1j
print(type(a))
print(type(b))
print(type(c))
print(type(d))
#type 不会认为子类是父类的类型
f = 2.11
print(isinstance(f, int))

'''
字符串
'''
str = "i will 做到"
print(str[1:])
print(str[0:19])


'''
列表  在python中最频繁的使用的数据类型

列表中的元素的类型可以不相同，它支持数字，字符串，甚至可以包含列表

列表是写在[]之间、用,分隔的元素列表
和字符串一样，列表同样可以被截取返回一个新的列表
但与字符串不同的是 列表中的元素是可以改变的
'''
#变量[头下标：尾下标] 头下标以0开始，尾下标以-1开始
list = ["ABC",23,3.4,True]
print(list)
print(list[3:-3])


'''
元组  
元组与列表类似，不同支出在于元组的元素不能修改，
元组写在小括号里，元素之间用逗号隔开
其实，可以把字符串看成特殊的元组
'''
tup = (1,2,3)
print(tup[0:])

#string list tuple 都属于sequence （序列）

'''
集合 Set 是由一个或多个形态各异的大小整体组成的，
构成集合的事物或对象称作为元素或是成员
基本功能是进行成员关系测试和删除重复元素
可以使用大括号{}或者set()函数创建集合
注意创建空集合必须使用set()
set集合不支持角标
'''
#TODO
student = {'Tom','Jim','Tom'}
print(student)
a = set('sduadguaydga')
b = set('dasdajkdjwewh')
# print(a[1])
print(a-b)  #差集
print(b-a)
print(a|b)  #并集
print(a&b)  #交集
print(a^b)  #a b集合中不同的元素

'''
Dictionary 字典
字典是Python 中一个非常有用的内置数据类型
列表是对有序的对象集合，字典是无序对象集合。
两者之间的区别在于：
字典中的元素是通过键来取的，而不是通过偏移量存取的

'''
dict2 = {}
dict2['one'] = "菜鸟教程"
dict2[2] = "hello world"
tinydict = {'name':'','code':1,2:3}
print(dict2)
print(tinydict)
print(dict2.keys())
print(tinydict.keys())

#或者根据dict函数构建字典
aaa = dict([("aa","bb")])
bbb = dict(you='me')
print(aaa)
print(bbb)

























